共计 1542 个字符,预计需要花费 4 分钟才能阅读完成。
提醒:本文最后更新于 2024-07-26 10:19,文中所关联的信息可能已发生改变,请知悉!
一开始拿到一份 BSR 文件,但不知道如何使用
好在检索能力和运气都还算可以,找到了一个网页(应该是官网)
https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html
从这里下载了完整版的 BSR,里面有说明文档
发现提供的代码是要在 linux 或 mac 下运行的,因为比较熟悉 linux,所以我选择使用 linux 的虚拟机
README_linux 译文:
按照以下步骤从 Linux 系统上的源代码编译 Berkeley 分段资源:
[使用 MATLAB-r2013a 在 Ubuntu 12.10 上测试]。
1. 必备条件:
A. 我们假设您已经安装了 MATLAB,并且正确配置了 MEX(在 MATLAB 提示符下键入 MEX-SETUP)。
B. 确保 MATLAB 在您的路径中,例如:
$EXPORT PATH=$PATH:/opt/matlab-r2011a/bin。C. 确保您的系统具有所需的映像库:
$sudo apt-get install libjpeg-dev。
$sudo apt-get install libpng-dev。D. 强制 MATLAB 加载系统的最新库,而不是其自己的旧版本:
$EXPORT LD_PRELOAD=/lib/x86_64-linux-gnu/libc.so.6:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/lib/x86_64-linux-gnu/libgcc_s.so.1;2. 编译:
A. 我们假设您在名为 /bsr/ 的文件夹中解压缩了.tgz 文件。
B. 编辑文件 /bsr/grouping/source/gpb_src/Rules.make 中的以下行,使其指向 matlab 所在的目录。
已安装 (下面给出的示例):Matlab_path:=/opt/matlab-r2011a。
此外,如果您使用的是 32 位体系结构而不是 64 位体系结构,请取消注释。
指定 32 位体系结构的行,并注释指定。
64 位:MATLAB MEX 文件编译设置 -MATLAB 架构 (32 位机器)。
Matlab_ARCH:=glnx86。
MEX_EXTN:=mexglx。MATLAB MEX 文件编译设置 -MATLAB 架构 (64 位机器)。
matlab_arch:=glnxa64。
MEX_EXTN:=mexa64。
C. 转到 /bsr/grouping/source 并键入以下命令:
$source build.sh。此脚本应构建所有包,并将生成的.mex 文件复制到 /bsr/grouping/lib 目录中。
3. 使用示例:
A./bsr/grouping/test_gpb_ucm.m:在小镜像上运行 gpb_ucm 测试编译。
B./bsr/grouping/example.m:gpb_ucm 的使用示例,包括对大图的支持。
C./bsr/bench/test_bichs.m:具有各种输入格式的 BSDS500 基准的使用示例。
可以从 MATLAB-r2013a 和 Ubuntu 12.10 看出,这个还是比较旧的版本,ubuntu12.10 的镜像现在是很难找到了,不过操作系统几乎都是可以向前兼容的,所以暂且使用 ubuntu20.04,希望可以成功,而编译环境的部分——MATLAB,也有同样的问题,我只能找到比较靠近 r2013a 的 r2015b
安装自然是对着网上的教程,但 MATLAB 的激活步骤出了问题,MATLAB 是有版权限制的,但只要利用给出的注册码和注册机伪破解就可以解决,但是偏偏产生了“段错误”,而且像这样的问题往往很难解决,因为一千台电脑就有一千种环境,但还是只能搜索原因:
但是没有结果,看来只能选择不同的版本重装,至此问题仍然没有解决